<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport">
  <meta name="baidu-site-verification" content="code-UjJKh3jtOo">
  <link rel="stylesheet" href="//unpkg.com/@highlightjs/cdn-assets@11.5.0/styles/atom-one-dark.min.css">
  <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
  <title>Tit1e</title>
  <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2767111597631391" crossorigin="anonymous"></script>
  
<link rel="stylesheet" href="/css/style.css">

<meta name="generator" content="Hexo 6.3.0"><link rel="alternate" href="/atom.xml" title="Tit1e" type="application/atom+xml">
</head>

<body class="dark">
    <div class="container">
    <header class="header">
  <div class="title">
      <a href="/" class="logo">Tit1e</a>
      <div class="btn-dark"></div>
      <script>
        let bodyClx = document.body.classList;
        let btnDark = document.querySelector('.btn-dark');
        let sysDark = window.matchMedia('(prefers-color-scheme: dark)');
        let darkVal = localStorage.getItem('dark');

        let setDark = (isDark) => {
        bodyClx[isDark ? 'add' : 'remove']('dark');
        localStorage.setItem('dark', isDark ? 'yes' : 'no');
        };

        setDark(darkVal ? darkVal === 'yes' : sysDark.matches);
        requestAnimationFrame(() => bodyClx.remove('not-ready'));

        btnDark.addEventListener('click', () => setDark(!bodyClx.contains('dark')));
        sysDark.addEventListener('change', (event) => setDark(event.matches));
      </script>
  </div>
    <ul class="menu">
        
        
        
        
        <li class="menu-item ">
            <a href="/" class="menu-item-link">Home</a>
        </li>
        
        
        <li class="menu-item ">
            <a href="/archives/" class="menu-item-link">Archives</a>
        </li>
        
        
        <li class="menu-item ">
            <a href="/atom.xml" class="menu-item-link">RSS</a>
        </li>
        
        
        <li class="menu-item ">
            <a target="_blank" rel="noopener" href="https://pixeltimer.art" class="menu-item-link">Pixel Timer</a>
        </li>
        
    </ul>
    <div class="search-box">
        <input type="search" id="search" placeholder="搜索">
    </div>
</header>
    <article class="post">
  <div class="post-meta">
    <span class="post-time">12 / 30, 2020</span>
  </div>
  <div class="post-title">
    <h1 class="title">你好啊，2021</h1>
  </div>
  
  <ul class="post-tags">
    
    <li class="tag-item">
      #随笔
    </li>
    
    <li class="tag-item">
      #年终总结
    </li>
    
  </ul>
  
  <div class="post-content">
    <p>虽然标题写的是 2021，但实际上这篇是 2020 年的回顾。</p>
<p>回顾 2020，才发现疫情已经伴随了我一整年，年初遭遇疫情时的恐慌明明还历历在目。</p>
<p>因为疫情，第一次体验了在家办公。这可是正儿八经的在家办公，不是我平时请了假，结果还是被同事找上门然后在家改 bug。</p>
<p>2月19日返回杭州，看见了不一样的杭州，平常热闹的街道冷冷清清，明明已经过了返工的日子，沿街的店铺却都还紧紧闭着。</p>
<p>因为疫情，年初动森的发售直接让动森与 switch 火出了圈。我心血来潮还开发了一个小程序，从数据爬取，界面设计，后端服务搭建，接口编写，域名申请等一整套的部署流程，全都自己一人折腾了个遍。</p>
<p>整个过程下来，收获颇丰。这个小程序用到的技术栈：</p>
<ul>
<li>uni-app</li>
<li>Node.js</li>
<li>Mysql</li>
<li>Nginx</li>
</ul>
<p><img src="https://personal-1251959693.cos.ap-chengdu.myqcloud.com/2020-12-28-animalCrossingCode.jpg"></p>
<p>7月26日我拿到了自己人生中的第一台相机📷：黑色的富士的 XT-20。虽然是二手，虽然我更想要银色，但我很是很喜欢它。前段时间刚上线了我的摄影站：<a target="_blank" rel="noopener" href="https://album.animalcrossing.life/">Tit1e’s Photo Studio</a>。项目立项很早，但是一直拖拖拉拉，好在赶上了 2020 的尾巴。</p>
<p>8月份的时候，跟小伙伴去了趟成都，4天下来，我最喜欢的地方是人民公园。点杯茶，可以在那坐上一整天。成都的生活节奏，令人向往，可惜我只是个过客。</p>
<p>整年下来，最重要的事是 11月初摇中了号，那次是开盘以来摇中概率最低的一次。销售发消息恭喜我的时候，我的心情不知道怎么形容，大概是忧大于喜。但是现在，我内心早已是期待它早日交房，我可以住进去。</p>
<p>在现在公司呆了 4 年，住的地方也 3 年多没搬过家，一直就是这样，不温不火。明年初打算跳出这个并不舒适的舒适圈，换个新环境，所以打算年后辞职。最近想到这个事情心里总是激动，一点不在怕，我觉得是时候了。</p>
<p>明年有目标吗？没有。最希望的大概是脱单。另外希望自己明年能拍更多照片，摄影技术能有所提升。不过提升技术这种目标过于虚无，因为我觉得我的审美不足以让我判断出我的技术是否有提升。</p>
<p>《生之响往》是我今年发现的宝藏歌曲。这首歌绝望中透露着希望。我喜欢许嵩的原因就是他传达给我的就是这种思想。而这首歌也有着同样的表达。这世界很糟糕，但这世界也很美好，但要心怀希望。</p>
<iframe frameborder="no" border="0" marginwidth="0" marginheight="0" width=330 height=86 src="//music.163.com/outchain/player?type=2&id=554241255&auto=0&height=66"></iframe>

<blockquote>
<p><strong>小心安命，埋头任事</strong> ——曾国藩</p>
<p>小心谨慎安于天命，埋头做事不问其他。</p>
</blockquote>
<p>这是今年许嵩在一次直播中送给一位粉丝的建议。安于天命并不是认命，而是找到自己的定位，知道自己能做什么，适合做什么，然后努力去做。我觉得这是一个贯穿人一生的课题。</p>
<p>当我听到这句话以及它所表达的意思后，我觉得我终于找到了可以概括我处世态度的文字。</p>
<p>最后是对自己说的话：<strong>希望在接下去的人生中永远心怀希望，安命，任事</strong>。</p>
<p><strong>滚蛋吧，2020！</strong></p>

  </div>
  <div class="post-near">
    
    <a
      class="post-near-prev"
      href="/p/e6a17261.html"
      title="Vue 项目新增 PWA 支持初次尝试"
    >
      <span class="arrow">←</span>
      <span class="post-near-title">
        Vue 项目新增 PWA 支持初次尝试
      </span>
    </a>
    
    
    <a
      class="post-near-next"
      href="/p/4150098d.html"
      title="nginx http 重定向至 https"
    >
      <span class="post-near-title">
        nginx http 重定向至 https
      </span>
      <span class="arrow">→</span>
    </a>
    
  </div>
</article>

    <footer class="footer">
  <p>本博客采用 <a class="license-link" rel="license noopener" target="_blank" href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh">署名-非商业性使用-相同方式共享 4.0 国际</a>协议进行许可</p>
  <p>
    <span>Thanks For <a target="_blank" rel="noopener" href="https://github.com/nanxiaobei/hugo-paper" taget="_blank">hugo-paper</a></span>
    <span style="margin-left: 10px;">&copy; 2016-2025 by Tit1e</span>
  </p>
</footer>
    </div>
    <script src="//unpkg.com/@highlightjs/cdn-assets@11.5.0/highlight.min.js"></script>
<script>
  hljs.initHighlightingOnLoad();
  var _hmt = _hmt || [];
    (function() {
    var hm = document.createElement("script");
    hm.src = "https://hm.baidu.com/hm.js?6349d3bc54baea0b04a65145c5e3b799";
    var s = document.getElementsByTagName("script")[0];
    s.parentNode.insertBefore(hm, s);
    })();
    const block = document.querySelectorAll('.post-content')[0]
    block.addEventListener('click', e => {
        const {nodeName, src} = e.target
        if(nodeName !== 'IMG') return
        document.body.classList.add('overflow-hidden')
        const div = document.createElement('div')
        div.id = 'global-cover'
        div.title = '点击关闭'
        const a = document.createElement('a')
        a.href = src
        a.target="_blank"
        a.title = '点击打开原图'
        const img = document.createElement('img')
        img.className = 'show-pic'
        img.src = src
        a.appendChild(img)
        div.appendChild(a)
        document.body.appendChild(div)
    })
    document.body.addEventListener('click', e => {
        if(e.target.id === 'global-cover'){
            document.body.classList.remove('overflow-hidden')
            document.body.removeChild(e.target)
        }
    })
</script>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-7M04VN3JZ4"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'G-7M04VN3JZ4');
</script>

<script src="/js/search.js"></script>


</body>
</html>